package com.ruoyi.cms.mapper;

import com.ruoyi.cms.domain.ShortVideo;
import java.util.List;

/**
 * 短视频Mapper接口
 *
 * @author ruoyi
 * @date 2025-01-22
 */
public interface ShortVideoMapper {
    /**
     * 查询短视频
     *
     * @param videoId 短视频主键
     * @return 短视频
     */
    public ShortVideo selectShortVideoById(Long videoId);

    /**
     * 查询短视频列表
     *
     * @param shortVideo 短视频
     * @return 短视频集合
     */
    public List<ShortVideo> selectShortVideoList(ShortVideo shortVideo);

    /**
     * 新增短视频
     *
     * @param shortVideo 短视频
     * @return 结果
     */
    public int insertShortVideo(ShortVideo shortVideo);

    /**
     * 修改短视频
     *
     * @param shortVideo 短视频
     * @return 结果
     */
    public int updateShortVideo(ShortVideo shortVideo);

    /**
     * 删除短视频
     *
     * @param videoId 短视频主键
     * @return 结果
     */
    public int deleteShortVideoById(Long videoId);

    /**
     * 批量删除短视频
     *
     * @param videoIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteShortVideoByIds(Long[] videoIds);

    /**
     * 增加播放量
     *
     * @param videoId 短视频ID
     * @return 结果
     */
    public int increaseViewCount(Long videoId);

    /**
     * 增加点赞量
     *
     * @param videoId 短视频ID
     * @return 结果
     */
    public int increaseLikeCount(Long videoId);

    /**
     * 查询热门短视频列表
     *
     * @param limit 返回数量限制
     * @return 短视频列表
     */
    public List<ShortVideo> selectHotVideos(Integer limit);
}